<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

// esta funcao eh uma copia da funcao padrao do codeigniter, ou
// seja, precisa ser atualizada caso o framework seja atualizado.
// ela faz exatamente a mesma coisa quea funcao padrao, mas só retorna
// a tag "anchor" se o usuario realmente possuir permissao de
// entrar naquele link.
// comentarios com "TRECHO ADICIONADO" indicam as partes nao padrao da funcao.
function anchor($uri = '', $title = '', $attributes = '')
{
  // TRECHO ADICIONADO
  // teste para nao mostrar o link caso a permissao seja negada
  $rights = hasRights($uri);
  if (!$rights)
    return '';
  
  $title = (string) $title;

  if ( ! is_array($uri))
  {
    $site_url = ( ! preg_match('!^\w+://! i', $uri)) ? site_url($uri) : $uri;
  }
  else
  {
    $site_url = site_url($uri);
  }

  if ($title == '')
  {
    $title = $site_url;
  }

  // TRECHO ADICIONADO
  // aviso de permissao negada por falta de login ou pagina nao cadastrada
  if ($rights == -1)
    $title.= ' (requer login)';
  else if ($rights == -2)
    $title.= ' (página não cadastrada no sistema)';

  if ($attributes != '')
  {
    $attributes = _parse_attributes($attributes);
  }

  return '<a href="'.$site_url.'"'.$attributes.'>'.$title.'</a>';
}
